
////////////////////////////////////////////////////////////////////////////////////////////
// 文件名: SysParametersDAL.gen.cs
//
// 模块名称: SysParameters
//
// 作者: zxf
//
// 历史记录（记录修改记录，修改文件后请添加修改记录，注明修改时间、修改人，修改内容）:
// 2013/1/22    zxf    创建文件
////////////////////////////////////////////////////////////////////////////////////////////

using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using Model;

namespace DAL
{
    /// <summary>
    /// SysParameters表数据访问层
    /// </summary>
    public class SysParametersDAL: DB
    {
        public SysParametersDAL(LoginInfo info)
        {
            base.loginInfo = info;
        }
        /// <summary>
        /// 根据ParameterID字段获取SysParametersInfo实体对象
        /// </summary>
        /// <param name="parameterID">ParameterID</param>
        /// <returns>SysParametersInfo实体对象</returns>
        public SysParametersInfo GetInfoById(string parameterID)
        {
           //创建数据库对象
			HIDB.dbo con = base.conn();
            
            //添加输入输出参数
             IDataParameter[] sqlparams = { 
            new SqlParameter("@ParameterID",parameterID )
          };

            new DataTable();

            //执行命令返回DataTable对象
			DataTable dt = con.StoredDataTable("dbo.UP_SysParameters_Select", sqlparams);
            
            if (dt != null && dt.Rows.Count > 0)
			{
                var model = new  SysParametersInfo
                {
                ParameterID =dt.Rows[0]["ParameterID"]!=null?dt.Rows[0]["ParameterID"].ToString():"",
                ParameterType =dt.Rows[0]["ParameterType"]!=null?dt.Rows[0]["ParameterType"].ToString():"",
                ParameterCode =dt.Rows[0]["ParameterCode"]!=null?dt.Rows[0]["ParameterCode"].ToString():"",
				ParameterName = dt.Rows[0]["ParameterName"] != null ? dt.Rows[0]["ParameterName"].ToString() : "",
				ParameterValue = dt.Rows[0]["ParameterValue"] != null ? dt.Rows[0]["ParameterValue"].ToString() : "",
				ParameterDesc = dt.Rows[0]["ParameterDesc"] != null ? dt.Rows[0]["ParameterDesc"].ToString() : "",
				CanEdit = dt.Rows[0]["CanEdit"] != null ? dt.Rows[0]["CanEdit"].ToString(): "",
                };
                return model;
            }
          
            return null;
        }

        /// <summary>
        /// 往SysParameters表内添加新记录
        /// </summary>
        /// <returns>添加记录索引值</returns>
        public void Insert(SysParametersInfo sysParametersInfo)
        {
            //创建数据库对象
           HIDB.dbo con = base.conn();
           
            //添加输入输出参数
			IDataParameter[] sqlparams = { 
            new SqlParameter("@ParameterID",sysParametersInfo.ParameterID),
            new SqlParameter("@ParameterType",sysParametersInfo.ParameterType),
            new SqlParameter("@ParameterCode",sysParametersInfo.ParameterCode),
            new SqlParameter("@ParameterName",sysParametersInfo.ParameterName),
            new SqlParameter("@ParameterValue",sysParametersInfo.ParameterValue),
            new SqlParameter("@ParameterDesc",sysParametersInfo.ParameterDesc),
            new SqlParameter("@CanEdit",sysParametersInfo.CanEdit)
            };
            
            //返回新添加记录索引
            con.StoredUpdate("dbo.UP_SysParameters_Insert", sqlparams);
        }

        /// <summary>
        /// 更新SysParameters表记录
        /// </summary>
        /// <param>SysParametersInfo实体对象 <name>SysParametersInfo</name> </param>
        /// <param name="sysParametersInfo"> </param>
        public void Update(SysParametersInfo sysParametersInfo)
        {
            //创建数据库对象
           HIDB.dbo con = base.conn();
             //添加输入输出参数
		   IDataParameter[] sqlparams = { 
             new SqlParameter("@ParameterID",sysParametersInfo.ParameterID),
             new SqlParameter("@ParameterType",sysParametersInfo.ParameterType),
             new SqlParameter("@ParameterCode",sysParametersInfo.ParameterCode),
             new SqlParameter("@ParameterName",sysParametersInfo.ParameterName),
             new SqlParameter("@ParameterValue",sysParametersInfo.ParameterValue),
             new SqlParameter("@ParameterDesc",sysParametersInfo.ParameterDesc),
             new SqlParameter("@CanEdit",sysParametersInfo.CanEdit)
            };
            con.StoredUpdate("dbo.UP_SysParameters_Update", sqlparams);
        }
        
        /// <summary>
        /// 根据ParameterID字段删除SysParametersInfo表信息
        /// </summary>
        /// <param name="parameterID">ParameterID</param>
        public void Delete(string parameterID)
        {
            //创建数据库对象
           HIDB.dbo con = base.conn();
            //添加输入输出参数
             IDataParameter[] sqlparams = { 
            new SqlParameter("@ParameterID",parameterID )
          };
            //执行操作
            con.StoredUpdate("dbo.UP_SysParameters_Delete", sqlparams);
        }
        
        /// <summary>
		/// 获取SysParametersInfo对象列表
		/// </summary>
        public List< SysParametersInfo > GetInfoList(IDataParameter[] sqlparams=null)
        {
              //创建数据库对象
           HIDB.dbo con = base.conn();
        var list = new List< SysParametersInfo >();
            DataTable dt = sqlparams == null ? con.StoredDataTable("dbo.UP_SysParameters_GetList") : con.StoredDataTable("UP_SysParameters_GetList",sqlparams);
        
          if (dt != null && dt.Rows.Count > 0)
			{
                foreach (DataRow row in dt.Rows)
                        {
                        
                            var model = new  SysParametersInfo
                            {
								ParameterID = dt.Rows[0]["ParameterID"] != null ? dt.Rows[0]["ParameterID"].ToString() : "",
								ParameterType = dt.Rows[0]["ParameterType"] != null ? dt.Rows[0]["ParameterType"].ToString() : "",
								ParameterCode = dt.Rows[0]["ParameterCode"] != null ? dt.Rows[0]["ParameterCode"].ToString() : "",
								ParameterName = dt.Rows[0]["ParameterName"] != null ? dt.Rows[0]["ParameterName"].ToString() : "",
								ParameterValue = dt.Rows[0]["ParameterValue"] != null ? dt.Rows[0]["ParameterValue"].ToString() : "",
								ParameterDesc = dt.Rows[0]["ParameterDesc"] != null ? dt.Rows[0]["ParameterDesc"].ToString() : "",
								CanEdit = dt.Rows[0]["CanEdit"] != null ? dt.Rows[0]["CanEdit"].ToString() : "",
                            };
                                list.Add(model);
                        }
           }
        
        return list;
        }

		/// <summary>
		/// 获取SysParametersInfo对象列表
		/// </summary>
		public List<SysParametersInfo> GetInfoList(string parameterType)
		{
			//创建数据库对象
			HIDB.dbo con = base.conn();
			var list = new List<SysParametersInfo>();
		    new DataTable();
		    IDataParameter[] sqlparams = { new SqlParameter("@ParameterType", parameterType) };
			DataTable dt = con.StoredDataTable("dbo.UP_SysParameters_Query", sqlparams);

			if (dt != null && dt.Rows.Count > 0)
			{
				foreach (DataRow row in dt.Rows)
				{

					var model = new SysParametersInfo
					{
						ParameterID = dt.Rows[0]["ParameterID"] != null ? dt.Rows[0]["ParameterID"].ToString() : "",
						ParameterType = dt.Rows[0]["ParameterType"] != null ? dt.Rows[0]["ParameterType"].ToString() : "",
						ParameterCode = dt.Rows[0]["ParameterCode"] != null ? dt.Rows[0]["ParameterCode"].ToString() : "",
						ParameterName = dt.Rows[0]["ParameterName"] != null ? dt.Rows[0]["ParameterName"].ToString() : "",
						ParameterValue = dt.Rows[0]["ParameterValue"] != null ? dt.Rows[0]["ParameterValue"].ToString() : "",
						ParameterDesc = dt.Rows[0]["ParameterDesc"] != null ? dt.Rows[0]["ParameterDesc"].ToString() : "",
						CanEdit = dt.Rows[0]["CanEdit"] != null ? dt.Rows[0]["CanEdit"].ToString() : "",
					};
					list.Add(model);
				}
			}

			return list;
		}
    }
}